The present invention relates to an improvement in the technique by which a plurality of agents process the information distributed over a network, or more in particular to an improved information processing system and method and an improved information processing program recording medium operable in stable fashion even in an unstable environment of the network line or the like.
The tendency of the day is toward an information processing system constructing a basis of computers distributed on a network as a result of the progress of down-sizing and the improved network environment due to the extension of the Internet.
A network connected to a wide area network such as the Internet is called an open network. This open network is accompanied by a more and more open environment. With the advance of an open environment, the various data and functions existing on the network come to have a close relationship with an external wide area network. The resulting interaction with the external wide area network increases the chance of affecting or changing the various data and functions existing on the network.
In this open network environment, requests sent as messages and commands to the software or the software construction may undergo a change in a form not expected in advance.
A request to the software, for example, may change to the one taking the acquisition of a specific file from an external wide area network as granted. Also, a file for realizing a specific function may be moved to a server having a sufficient security against external intrusion.
Demand is growing for a flexible software construction which is adaptive to such a change without any labor of the user or downtime of the system in operation. Such a flexible software construction can provide the user with a more flexible and stable information service in an open environment.
An agent-oriented technique has come to be closely watched recently as a technique for realizing such a flexible software construction. The agent-oriented technique is for constructing a system using software units called agents, which autonomously act in response to the change of their environment. Many attempts have been made on agents capable of meeting an environmental change flexibly by autonomous operation in an open network.
For example, Jpn. Pat. Appln. KOKAI Publication No. 7-182174 discloses a method of executing a remote programming by which agents are transferred between nodes in a distributed computer system. FIG. 10 shows an example configuration of a system for executing a remote programming. In this case, an agent is realized as a process on a node, and the process, i.e. the operation of the agent is assigned beforehand by a program called “plan”.
The plan is described in a series of instructions describing the operation of the agent process. A unit of the plan constitutes “instruction”. Also, the node on which an agent originally exists is called “local node”, the node to which the agent is moved is called “remote node”. Both are shown in FIG. 10 by reference numerals 800L and 800R, respectively.
The processing for moving an agent to another node is designated by a special type of instruction (hereinafter referred to as “go-operation”) described in the plan. A specific application of the go-operation will be described. Assume, for example, that an instruction to search by the local node 800L for a specific file is described in the plan and that the search has failed. As a resulting operation, the go-operation for moving the agent to the remote node 800R and the instruction to search by the remote node 800R for the same file again after move are described in the plan.
In this case, the plan is first executed at the local node 800L. The plan to be executed is stored in advance in the agent information storage means 801L. The internal state for agent activity, i.e. a work area is stored with the plan in the agent information storage means 801L as agent information.
As the agent begins to act at the local node 800L, the interpretation/execution means 802L interprets and executes the instructions in the plan sequentially while at the same time updating the internal state of the agent. Upon failure to discover the file while executing the plan at the local node 800L, the interpretation/execution means 802L interprets and executes the instruction in the plan and the go-operation. In the interpretation and execution of the go-operation, the agent management means 804L transfers the agent in the way described below.
Specifically, the agent management means 804L first communicates with the agent management means 804R on the remote node 800R through the network 800N. In this communication, the contents of the plan and the internal state of the agent as of the interpretation and execution of the go-operation are transferred to the remote node 800R. These information, which are transferred to the remote node 800R, are stored in the agent information storage means 801R by the agent management means 804R. The agent management means 804R then activates the interpretation/execution means 802R thereby to continue the interpretation and execution of the instruction. As a result, the operation of the agent similar to that performed in the local node 800L from which it came continues to be performed in the remote node 800R.
As described above, according to Jpn. Pat. Appln. KOKAI Publication No. 7-182174, a flexible action is possible against any change of the situation in which the file to be discovered is moved from a local node to a remote node. In this prior art, even between nodes having different operating systems or different hardware, an agent can be moved between the nodes and the plan can be continued as long as the grammar used for the plan and the format of expressing the internal state of the agent are unified.
Etzioni, et al. discloses an information processing method (reference: Oren Etzioni and Daniel Weld “A Softbot-Based Interface to the Internet” (Communications of ACM), in which the ordinary network functions such as ftp and telnet are used and dynamically selected while being flexibly backtracked based on the information collected during the operation. The backtracking is defined as the use of various functions on trial and error basis. This information processing method permits a flexible operation against the state, of the system at each time point. This flexible operation is realized by the technique called the planning.
Also, Jpn. Pat. Appln. KOKAI Publication No. 7-6142 and Jpn. Pat. Appln. KOKAI Publication No. 8-77090 disclose a multiagent cooperation system and a method thereof. In the multiagent cooperation system, a plurality of agents each have the function of exchanging information with other agents thereby to realize the cooperation between the agents for flexible and efficient information processing.
This prior art, however, has the following problem.
In the method of executing a remote programming disclosed in Jpn. Pat. Appln. KOKAI Publication No. 7-182174, the plan defining the operation of an agent is required to be described beforehand in its entirety by the user using instructions. Especially, in the go-operation for moving an agent, the destination node for the agent is required to be designated by an identifier for the network. The destination node for the agent is the one to which the agent is moved and the identifier is expressed by a node name or the like.
In an open network, however, the information on each node constituting the network such as the node name undergoes a constant change and it is difficult to keep monitoring such a change from time to time.
For this change to be met, a troublesome operation is required not only to monitor the change of the destination node name in advance but also to change the instruction according to the change. The technique disclosed in Jpn. Pat. Appln. KOKAI Publication No. 7-182174, therefore, has its own limit in meeting the change of the open network flexibly.
The information processing method proposed by Etzioni, et al. on the other hand, utilizes the normal network functions such as ftp and telnet as a means for using the network. The mere use of these communication protocols, however, still makes it difficult to access the information at a remote node smoothly. For ftp and telnet, for example, an inter-node communication route is required to be stably maintained both physically and logically from the start to end of a series of data exchange. In the case where a route through which information is being accessed through the network is temporarily cut off, the access becomes impossible or the authentication or file access must be resumed from the beginning.
Further, the multiagent techniques disclosed in Jpn. Pat. Appln. KOKAI Publication No. 7-6142 and Jpn. Pat. Appln. KOKAI Publication No. 8-77090 have the following problems. The first problem is a low line reliability. Specifically, the feature of an open network is that it is configured of various types of machines (computers) and connection lines. With the recent extension of what is called the mobile computing, portable terminals have come to be used widely. The portable terminal is a small computer freely portable by the user and often is connected to a network through a radio channel such as a portable telephone or a PHS terminal. The portable terminal is used at the risk of communication failure by the battery being consumed up during communication. These limitations due to the power supply and the radio connection make the portable terminal a node having a line low in reliability for connection with the network.
The conventional multiagent techniques disclosed in Jpn. Pat. Appln. KOKAI Publication No. 7-6142 and Jpn. Pat. Appln. KOKAI Publication No. 8-77090, however, presuppose the capability of frequent communication between agents using a highly reliable communication line, and therefore cannot fully exhibit the performance thereof with the above-mentioned line of low reliability. Thus, an information processing technique has been-sought for which can stably operate even on a line low in reliability.
The second problem point of the above-mentioned multiagent techniques is the environmental stability. Specifically, the conventional multiagent techniques are configured on condition that the environment such as the specifics of knowledge remain stable and are not unduly changed at least as long as a series of cooperation steps is proceeding. The conventional multiagent techniques, therefore, cannot exhibit a full function in an environment such as an open network in which an unexpected change is liable to occur frequently. As a result, an information processing technique is required which operates in stable fashion against any changes of the situation.
Further, in the conventional multiagent techniques, the communication between any agents is processed equally regardless of the contents thereof. In view of the difference in the order of priority depending on the agents engaged in communication and the contents of the communication, however, communication means are desirably provided in which inter-agent communications are differently handled according to the order of priority in order to flexibly control the cooperation between agents.